package Servidor.Clases;

import java.util.Random;

/**
 * Clase que contiene la informacion del gps, tanto el estado como la posicion
 * de cada momento
 * @author Redes/grupo21
 *
 */
public class GPS {
	 private String latitud;
	 private String longitud;
	 private boolean encendido;
 
	 public GPS(){
		 latitud="";
		 longitud="";
		 encendido=true;
	 }
	 public GPS(boolean encendido){
		 latitud="";
		 longitud="";
		 this.encendido=encendido;
	 }
	 
	/**
	 * Si esta encendido: Actualiza la posicion del GPS y devuelve su latitud.
	 * Si no: devuelve null 
	 * @return la latitud actual del GPS
	 */
	public String getLatitud() {
		if(encendido){
		return latitud;}
		else return null;
	}
	
	/**
	 * Si esta encendido: Actualiza la posicion del GPS y devuelve su longitud. 
	 * Si no: devuelve null 
	 * @return la longitud actual del GPS
	 */
	public String getLongitud() {
		if(encendido)
			return longitud;
		else return null;
	}
	
	public void setLatitud(String latitud) {
		this.latitud = latitud;
	}

	public void setLongitud(String longitud) {
		this.longitud = longitud;
	}

	public boolean isEncendido() {
		return encendido;
	}
	
	public void setEncendido(boolean encendido) {
		this.encendido = encendido;
	}
	/**
	 * Metodo que actualiza la posicion del GPS consultando al sensor
	 * Al no disponer de este, las posiciones se generaran aleatoriamente.
	 */
	public void actualizarPosicion()
	{
		latitud= new Long(new Random().nextLong()).toString();
		System.out.println(latitud);
		longitud= new Long(new Random().nextLong()).toString();
		System.out.println(longitud);
	}
	
	/**
	 * Metodo que devuelve (si el GPS esta encendido) un string formado por
	 * las coordenadas que indica el GPS en un momento determinado con
	 * el siguiente formato: latitud-longitud
	 * En caso de estar apagado, devolvera la cadena "APAGADO"
	 * 
	 * @return String con la posicion del gps o apagado
	 */
	public String getPosicion (){
		if(isEncendido()){
			actualizarPosicion();
			String posicion="";
			posicion=latitud+"-"+longitud;
			return posicion;
		}else
			return"APAGADO";
	}
}
